﻿using Rsd.Dudu.Core;
using Rsd.Faith.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Rsd.Faith.Report.Core
{
    public interface IReportService : IService
    {
        /// <summary>
        /// 资金总账属期核算
        /// </summary>
        /// <param name="zongZhang"></param>
        /// <returns></returns>
        ReportZiJinZongZhangModel ZiJinZongZhangHeSuan(ReportZiJinZongZhangModel zongZhang);

        /// <summary>
        /// 小区总账核算
        /// </summary>
        /// <param name="xiaoQuZongZhang"></param>
        /// <returns></returns>
        int XiaoQuZongZhangHeSuan(BookXiaoQuZongZhangModel xiaoQuZongZhang);
        /// <summary>
        /// 小区总账核算
        /// </summary>
        /// <param name="louDongZhang"></param>
        /// <returns></returns>
        int LouDongZhangHeSuan(BookLouDongMingXiZhangModel louDongZhang);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="zhang"></param>
        /// <returns></returns>
        int DanYuanZhangHeSuan(BookDanYuanMingXiZhangModel zhang);
        
        /// <summary>
        ///  分户所有属期账目核算：（缴存、使用、增值、余额）
        /// </summary>
        /// <param name="suoShuQi"></param>
        /// <param name="xiaoQuBianHao"></param>
        /// <returns></returns>
        int FenHuHeSuan(BookFenHuZhangModel fenHuZhang);

        /// <summary>
        /// 分户所有属期账目扎帐核算：上期余额 结转下期 期初金额
        /// </summary>
        /// <param name="xiaoQuBianHao"></param>
        /// <returns></returns>
        int FenHuZhaZhang(BookFenHuZhangModel fenHuZhang);

        /// <summary>
        /// 生成催缴单
        /// </summary>
        /// <returns></returns>
        int ShenChengCuiJiao(string suoshuqi);

        /// <summary>
        /// 增值账目核算
        /// </summary>
        /// <returns></returns>
        int ZengZhiHeSuan();
    }
}
